import {request} from "../../request/index.js"
Page({
    data:{
        title:'',
        // sort:['综合','销量','价格','筛选'],
        sort:[{
            index:0,
            con:'综合'
        },
        {
            index:1,
            con:'销量'
        },
        {
            index:2,
            con:'价格'
        },
        {
            index:3,
            con:'筛选'
        }],
        currentIndex:0,
        goods:[],
        // 用于保存原始goods数组
        newGoods:[],
        // 排序升序降序
        // flag:true
        // 筛选下拉框
        select:false,

    },
    onLoad(){
        let that = this;
        // 根据面龄 告知专场 并进行进一步处理
        wx.getStorage({
            key: 'age',
            success: async function(res){
                let age = res.data;
                if(age<19){
                    that.setData({
                        title:'补水保湿',
                    })
                }else if(age<25){
                    that.setData({
                        title:'抗初老',
                    })
                }else if(age<31){
                    that.setData({
                        title:'抗老淡纹',
                    })
                }else{
                    that.setData({
                        title:'抗皱紧致',
                    })
                }
                // 发请求得到商品信息
                const goods = await request({url:"/goods",method:'Post',data:{age}})
                console.log(goods.data.result);
                
                that.setData({
                    goods:goods.data.result,
                    // 另一地址 存初始goods
                    newGoods:goods.data.result.concat()
                })
            }
        });
        
    },
    // 排序方式 点击事件
    handleItemTap(e){
        // 获取被点击排序方式的索引
        // 给data中currentIndex赋值
        const index = e.currentTarget.dataset.index;
        console.log(index);

        this.setData({
            currentIndex:index
        })
        
        let goods=this.data.newGoods.concat();
        // let newGoods = this.data.newGoods;
        // 前几次newGoods不会改变 可之后newGoods排序也被改变了？？why
        // console.log(goods[0].id);
        // console.log(newGoods[0].id);
        
        
        // this.data.flag=!this.data.flag;
        if(index==0){
            // 综合 如果index=0 则按默认排序
            // let goods = this.data.goods;
            let newGoods = this.data.newGoods.concat();
            this.setData({
                goods:newGoods,
                select:false
            }) 
        }else if(index==1){
            // 销量 如果index=1 则按销量排序 由高到低 由低到高
            // 暂时先实现默认的从高到低排序
            goods.sort(function(a,b){
                return a.sales-b.sales
            })
            this.setData({
                goods:goods,
                select:false
            })
        }else if(index==2){
            // 价格
            goods.sort(function(a,b){
                return a.price-b.price
            })
            this.setData({
                goods:goods,
                select:false
            })
        }else if(index==3){
            // 筛选
            this.setData({
                select:!this.data.select
            })
        }
    },
    // 点击筛选
    selectType(e){
         // 获取被点击的筛选类型
        const type = e.currentTarget.dataset.type;
        let goods=this.data.newGoods.concat();
        // console.log(type);
        if(type=='faceWash'){
            // 筛选洗面奶 只展示洗面奶
            let selectGoods = goods.filter(item=>{
                if(item.type=='faceWash'){
                    return item
                }
            })
            this.setData({
                goods:selectGoods
            })
        }if(type=='makeUpWL'){
            let selectGoods = goods.filter(item=>{
                if(item.type=='makeUpWL'){
                    return item
                }
            })
            this.setData({
                goods:selectGoods
            })

        }if(type=='cream'){
            let selectGoods = goods.filter(item=>{
                if(item.type=='cream'){
                    return item
                }
            })
            this.setData({
                goods:selectGoods
            })

        }if(type=='essence'){
            let selectGoods = goods.filter(item=>{
                if(item.type=='essence'){
                    return item
                }
            })
            this.setData({
                goods:selectGoods
            })

        }
    }
})
